package com.fastfly.service;

import java.util.List;

import com.fastfly.domain.City;
import com.fastfly.domain.Customer;
import com.fastfly.domain.Flight;
import com.fastfly.domain.Reservation;
import com.fastfly.domain.Seat;

public interface FlightService extends BaseService {
	
	public List<Flight> findFlightsByCity(Flight criteria);
	public List<Flight> findFlightsByCityAndSeats(Flight criteria);
	public List<Flight> findReturnFlightsByCityAndSeats(Flight criteria);
	public List<Flight> findFlightsByNumber(Flight criteria);
	public List<City> findAllCities();
	public Flight findById(long id);
	public List<Seat> findAvailableSeatInFlight(long flightId);
	

	public Reservation bookFlight(Customer customer, int numberPassengers, Flight flightDeparting, Flight flightReturning, String paymentType) throws Exception ;
	public Reservation changeSeats(Reservation reservation);
	public void cancelReservation(long reservationId);

}
